<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			// 判断学生的成绩登记
			// >=90 <=100   优秀
			// >=80 <90     良好
			// >=70 <80     一般
			// >=60 <70     及格
			// < 60         不及格
			function pingJia() {
				var score = parseInt(document.getElementById('score').value);
				// isNaN(): NaN=Not a number 不是一个数字
				// 如果传递过来的不是一个数字，返回true
				/* 
				if (isNaN(score)) {
					alert('请输入一个数字');
				} else { // 是一个数字
					// && 并且，两边的条件都要满足都是true，整体才是true
					if (score >= 90 && score <= 100) {
						alert('优秀');
					} else if (score >= 80 && score < 90) {
						alert('良好');
					} else if (score >= 70 && score < 80) {
						alert('一般');
					} else if (score >= 60 && score < 70) {
						alert('及格');
					}  else { // 处理所有的默认情况
						alert('不及格');
					}
				} */
				
				// 卫操作：把分发的输入直接拦截，执行return，后面合法代码就不需要执行
				if (isNaN(score)) {
					alert('请输入一个数字');
					return; // 退出这个函数，后面的代码不再执行
				} 
				
				// 执行到这里代表是一个数字，但是还要判断是不是在0-100这个范围内
				// ||：两边只要满足一个条件
				if (score < 0 || score > 100 ) {
					alert('请输入0-100范围内');
					return;
				}
				 
				// 经过上面的两个卫操作的拦截，能到这里代表是一个数字而且是0-100范围内的
				// && 并且，两边的条件都要满足都是true，整体才是true
				if (score >= 90 && score <= 100) {
					alert('优秀');
				} else if (score >= 80 && score < 90) {
					alert('良好');
				} else if (score >= 70 && score < 80) {
					alert('一般');
				} else if (score >= 60 && score < 70) {
					alert('及格');
				}  else { // 处理所有的默认情况
					alert('不及格');
				}
			}
		</script>
	</head>
	<body>
		<input type="text" id="score" />
		<input type="button" onclick="pingJia()" value="判断等级" />
	</body>
</html>
